var express = require('express')
var bodyParser = require('body-parser')
var template = require('express-art-template')
var session = require('express-session')

// 引入路由配置文件
var router = require('./router.js')

var app = express()

//允许访问公共文件，提供静态资源服务
app.use('/public/',express.static('./public/'))
app.use('/views/',express.static('./views/'))

// 配置art-template
app.engine('html',template)

// 配置body-parser
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())

/* 
 * 在Express中默认不支持Session和Cookie，可使用第三方插件express-session解决
 * 1.npm install express-session -S
 * 2.配置(一定要在挂载路由之前)
 * 3.使用
 *    通过req.session来访问和设置session成员
 *    添加session数据：req.session = xxx
 *    访问session数据：req.session.xxx
 */
// 配置session
app.use(session({
  secret: 'cmms', // 配置自定义的加密字符串，会在原有加密的基础之上和这个字符串拼接起来后再次加密,增加安全性，防止客户端恶意伪造
  resave: false,
  saveUninitialized: false // 默认为true,无论是否使用Session，都默认直接分配一把钥匙
}))

// 把路由容器挂载到app服务中
app.use(router)
// 设置访问端口
let port = 9000
// 监听端口启动
app.listen(port,function(){
  console.log('app running at http://localhost:' + port)
})